package cn.kow.kmall.core.util;

import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;

public class MoneyUtils {

	/**
     * 元转分
     * @param yuan
     * @return
     */
    public static Integer Yuan2Fen(Double yuan) {
        return new BigDecimal(String.valueOf(yuan)).movePointRight(2).intValue();
    }

    /**
     * 元转分
     * @param yuan
     * @return
     */
    public static Integer Yuan2Fen(String yuan) {
        if (StringUtils.isBlank(yuan)) {
            return 0;
        }
        return new BigDecimal(yuan).movePointRight(2).intValue();
    }

    /**
     * 分转元
     * @param fen
     * @return
     */
    public static Double Fen2Yuan(Integer fen) {
        return new BigDecimal(fen).movePointLeft(2).doubleValue();
    }

    /**
     * 分转元
     * @param fen
     * @return
     */
    public static String Fen2YuanStr(Integer fen) {
        if (fen == 0) {
            return "0";
        }
        return new BigDecimal(fen).movePointLeft(2).toString();
    }

    /**
     * 格式化金额
     *
     * @param decimal
     * @return
     */
    public static String formatCurrency(BigDecimal decimal ) {
        return formatCurrency(decimal, 2);
    }

    /**
     * 格式化金额
     *
     * @param decimal
     * @param scale
     * @return
     */
    public static String formatCurrency(BigDecimal decimal, int scale) {
        return decimal.setScale(2, BigDecimal.ROUND_DOWN).toString();
    }
}
